Kerala Fish Curry, Coconut-Poached, Malabar Style
Recipe Overview
Dish Name: Kerala Fish Curry with Coconut Milk and Kudampuli Cuisine: South Indian (Kerala) | Category: Fish Course | Serves: 4 Prep Time: 25 minutes | Cook Time: 30 minutes | Total Time: 55 minutes (plus 1 hour resting)
Why This Works
Most Kerala fish curry recipes online rush the process and skip the resting period that transforms a good curry into an exceptional one. This version uses the traditional Kottayam method: fish poached gently in spiced coconut milk, soured with kudampuli (Malabar tamarind), and finished with a drizzle of fresh coconut oil. The curry improves dramatically after resting, as the fish absorbs the spiced gravy and the flavors meld.
The celebratory angle here is the fish selection. While everyday Kerala cooking uses sardines or mackerel, this recipe calls for firm white fish like snapper or barramundi. These premium options hold their shape beautifully in the curry and deliver clean, sweet flesh against the rich, sour gravy. The two-stage coconut milk addition creates body without heaviness. Thin coconut milk builds the cooking liquid while thick coconut milk finishes with silky richness.
Ingredients (Serves 4)
For the Fish:
- 600g firm white fish fillets (snapper, barramundi, or seer fish), cut into 8cm pieces, 2.5cm thick
- 1/2 tsp fine sea salt
- 1/4 tsp turmeric powder
For the Spice Paste:
- 2 tsp Kashmiri chilli powder (for color and mild heat)
- 1 tsp ground coriander
- 1/2 tsp turmeric powder
- 3 tbsp water
For the Curry Base:
- 4 tbsp virgin coconut oil, divided
- 1/2 tsp black mustard seeds
- 1/4 tsp fenugreek seeds
- 2 sprigs fresh curry leaves (approximately 20 leaves)
- 150g shallots (about 10 small Indian shallots), sliced thin
- 25g fresh ginger, crushed coarsely
- 6 garlic cloves, crushed coarsely
- 2 green chillies, slit lengthwise
- 6 pieces kudampuli (Malabar tamarind), soaked in 100ml warm water for 15 minutes
- 400ml thin coconut milk (second extract or diluted canned)
- 150ml thick coconut milk (first extract or full-fat canned)
- 1 tsp fine sea salt, adjusted to taste
Method
Mise en Place (15 minutes)
Gather and prepare all ingredients before heating the pan. This curry moves quickly once cooking begins.
Required tools: Heavy-bottomed pan or Dutch oven with lid (clay pot if available), mortar and pestle or heavy knife for crushing ginger and garlic, small bowl for spice paste.
Prep the fish: Season fish pieces with salt and turmeric. Set aside at room temperature while preparing remaining ingredients.
Soak the kudampuli: Place dried kudampuli in 100ml warm water. After 15 minutes, squeeze the fruit to release its sour liquid. Reserve both the fruit and soaking water.
Crush aromatics: Use a mortar and pestle to roughly crush ginger and garlic together. You want irregular pieces, not a smooth paste. This releases oils while maintaining texture in the finished curry.
Mix spice paste: Combine Kashmiri chilli, coriander, and turmeric with 3 tablespoons water. Stir into a loose paste.
Building the Aromatic Base (8 minutes)
Heat 3 tablespoons coconut oil in a heavy pan over medium heat. Add mustard seeds and wait for them to pop, approximately 30 seconds. Add fenugreek seeds immediately after. These burn quickly, so keep them moving.
Drop in curry leaves. They will splutter aggressively. Add sliced shallots and cook until soft and beginning to turn golden at the edges, about 5 minutes. Stir occasionally but allow some browning to develop.
Add crushed ginger, garlic, and green chillies. Cook for 2 minutes until fragrant. The garlic should soften but not brown.
How to Make Kerala Fish Curry Sauce (7 minutes)
Reduce heat to low. Add the spice paste to the aromatics and stir continuously for 3 minutes. This step cooks out the raw spice flavor. Watch for sticking and add a splash of water if needed.
Pour in the thin coconut milk. Add kudampuli pieces and their soaking liquid. Increase heat to medium and bring to a gentle simmer. Add salt and taste the base. It should be noticeably sour with balanced spice. Adjust kudampuli or salt now, before adding fish.
Simmer the curry base uncovered for 5 minutes. The liquid will reduce slightly and the flavors will concentrate.
Poaching the Fish (10 minutes)
Slide fish pieces into the simmering curry in a single layer. Spoon some gravy over each piece. Do not stir or flip the fish. Cover and reduce heat to low.
Poach for 8 to 10 minutes depending on thickness. Fish is done when it flakes easily but still holds together. Resist the urge to move the pieces. Gentle handling preserves the presentation.
Finishing with Coconut Milk (2 minutes)
Remove lid and pour thick coconut milk around the edges of the pan, not directly onto the fish. Tilt the pan gently to incorporate. Do not boil after adding thick coconut milk or it may split.
Drizzle remaining tablespoon of fresh coconut oil over the surface. Add a few fresh curry leaves if desired.
The Critical Rest (1 hour minimum)
Remove pan from heat. Cover and let the curry rest at room temperature for at least 1 hour. This step is not optional for the best flavor. The fish absorbs the spiced gravy, and the various elements integrate into a cohesive whole.
For even better results, refrigerate overnight and reheat gently the next day. Kerala cooks know that meen curry tastes best on day two.
Reheating and Serving
Warm the curry over low heat. Never boil. Serve in shallow bowls with plenty of gravy. Accompaniments: steamed basmati rice, Kerala red rice (matta rice), or appam.
What You Need to Know
What fish is best for Kerala curry? Firm white fish holds up to poaching and absorbs flavor without falling apart. Snapper, barramundi, and seer fish are ideal for celebratory occasions. Mackerel and sardines work for everyday cooking but require more careful handling. Avoid delicate fish like sole or flounder.
The kudampuli question: Kudampuli (Garcinia cambogia) provides the authentic sour note and slight smokiness that defines Kerala fish curry. Tamarind paste substitutes adequately at 2 tablespoons, but the flavor profile shifts. Kokum works as a closer substitute. Find kudampuli at Indian grocers, stored in the dried goods section.
Temperature control matters. High heat toughens fish and splits coconut milk. Keep the curry at a gentle simmer throughout. If you see aggressive bubbling, reduce heat immediately.
Make-ahead strategy: This curry improves with time. Prepare through the poaching step, cool to room temperature within 2 hours, then refrigerate. Reheat gently and add thick coconut milk just before serving for the freshest texture.
The Result
The finished Kerala fish curry presents as a rust-red gravy with visible curry leaves and pieces of kudampuli. Fish pieces should be intact, tender, and infused with the sour-spicy gravy. The first bite delivers immediate warmth from the chilli, followed by the sour punch of kudampuli and the rich backdrop of coconut. The fish tastes clean and sweet against the complex sauce.
You have nailed it when the gravy coats a spoon lightly, the fish flakes with gentle pressure, and the sourness balances the coconut richness without either dominating. The aroma should fill the kitchen with curry leaves, coconut, and warm spice.
Nutrition Information Based on a 2,000 Calorie Diet (Per Serving)
| Nutrient | Amount | % Daily Value |
|---|---|---|
| Calories | 385 kcal | 19% |
| Total Fat | 26g | 33% |
| Saturated Fat | 19g | 95% |
| Cholesterol | 62mg | 21% |
| Sodium | 680mg | 30% |
| Total Carbohydrates | 12g | 4% |
| Dietary Fiber | 2g | 7% |
| Sugars | 4g | — |
| Protein | 32g | 64% |
| Vitamin D | 3mcg | 15% |
| Iron | 2mg | 11% |
| Potassium | 620mg | 13% |
Flavor Balance
Sweet (3/10): Natural sweetness from coconut milk and caramelized shallots. Subtle backdrop rather than prominent note.
Salty (5/10): Sea salt seasoning the fish and curry base. Balanced to enhance other flavors without dominating.
Sour (7/10): Kudampuli provides the defining sour character of Kerala fish curry. This tartness cuts through coconut richness and brightens the dish.
Bitter (2/10): Fenugreek seeds contribute mild bitterness that adds complexity. Curry leaves provide subtle bitter-herbal notes.
Umami (5/10): Fish protein and the depth from slow-cooked shallots and garlic. Builds satisfying savory foundation.
Wine Pairing
Recommended: Clare Valley Riesling, Off-Dry Style (Australia)
Why: Australian Riesling from Clare Valley delivers the precise qualities this Kerala fish curry demands. The wine’s pronounced acidity cuts through coconut milk richness and refreshes the palate between bites. A touch of residual sugar (off-dry, around 10-15g/L) tempers the chilli heat without making the pairing feel sweet. Riesling’s citrus and lime blossom aromatics echo the sour kudampuli notes, creating harmony rather than competition. The wine’s relatively low alcohol (11-12%) means it will not amplify the spice heat the way a higher-alcohol wine would. Look for producers like Grosset, Jim Barry, or Pewsey Vale for reliable quality.
Alternatives:
Eden Valley Riesling (Dry Style): If you prefer less sweetness, Eden Valley produces drier Rieslings with steely minerality. These work particularly well if you have reduced the chilli in the curry. The laser-like acidity still provides palate refreshment, though the spice heat will feel more prominent without residual sugar buffering. Henschke and Pewsey Vale produce excellent examples.
Australian Gewürztraminer (Tasmania or Adelaide Hills): For aromatic intensity that matches the curry’s complexity, Gewürztraminer offers lychee, rose petal, and ginger notes that bridge directly to the spice profile. The wine’s natural richness complements coconut milk, while its low acidity creates a rounder pairing. This works best with milder versions of the curry. Slightly chilled to 10°C brings the aromatics into focus.
HACCP-Compliant Storage and Safety
Safe Cooling: Cool curry to below 21°C within 2 hours of cooking. Transfer to shallow containers (no deeper than 8cm) to accelerate cooling. Do not leave at room temperature beyond the 1-hour resting period plus cooling time.
Refrigeration: Store in airtight containers at 4°C or below. Consume within 3 days. Keep fish curry on lower shelves, away from ready-to-eat foods.
Freezing: Freeze in portion-sized containers within 24 hours of cooking. Label with date. Consume within 2 months for best quality. Fish texture will soften slightly upon thawing.
Reheating: Reheat to internal temperature of 74°C throughout. Heat gently over low flame, stirring minimally to preserve fish integrity. Microwave reheating is not recommended as it causes uneven heating and toughens fish protein.
Disposal: Discard any curry left at room temperature beyond 4 hours total (including resting time). Discard refrigerated curry after 3 days regardless of appearance or smell. When in doubt, discard.
Fish Handling: Purchase fish from reputable sources. Store at 0-4°C and use within 2 days of purchase. Fresh fish should smell of the sea, not fishy. Discard any fish with off odors, slimy texture, or discoloration.